﻿/*
* Copyright (C) Microsoft. All rights reserved.  
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not 
* use this file except in compliance with the License.  You may obtain a copy 
* of the License at http://www.apache.org/licenses/LICENSE-2.0  
* 
* THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED 
* WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 
* MERCHANTABLITY OR NON-INFRINGEMENT. 
*
* See the Apache License, Version 2.0 for specific language governing 
* permissions and limitations under the License.
*
*/
#pragma once
#pragma warning(push)
#pragma warning(disable : 4996) // for boost::uuid

#ifdef BOOST_ASSERT_CONFIG
#undef BOOST_ASSERT_CONFIG
#endif

#ifdef _DEBUG
#define BAJA_CONFIG_ENABLE_TRACING
#define BAJA_CONFIG_TRACE_PREFIX "AUSTIN: "
#define BAJA_CONFIG_ASSERT_USE_CRT
#endif

// baja
#include <baja/common.hpp>
#include <baja/assert.hpp>
#include <baja/error.hpp>
#include <baja/service.hpp>
#include <baja/trace.hpp>
#include <baja/util.hpp>
#include <baja/observable.hpp>
#include <baja/capturable.hpp>
#include <baja/mru_cache.hpp>
#include <baja/stopwatch.hpp>

// trace tags
#include <journal/app/trace_tags.h>
#define DEBUG_CONSOLE_TRACE_TO_OUTPUT

// baja/graphics
#include <baja/graphics.hpp>
#include <baja/graphics/scenes.hpp>

// baja/app
#include <baja/app/input.hpp>
#include <baja/app/app.hpp>
#include <baja/app/app_shell.hpp>
#include <baja/app/graphics_factory.hpp>
#include <baja/app/var_console.hpp>
#include <baja/app/debug_console.hpp>

// stl
#include <functional>
#include <memory>
#include <vector>
#include <stack>
#include <exception>
#include <map>
#include <string>
#include <queue>
#include <list>
#include <mutex>

// boost
#include <boost/format.hpp>
#include <boost/tokenizer.hpp>
#include <boost/token_functions.hpp>

#include <ppltasks.h>
#include <concurrent_queue.h>
#include <concurrent_vector.h>

#pragma warning(pop)
